package cn.tedu.collection;

import java.util.LinkedList;

/**本类用于测试List接口的子实现类LinkedList*/
public class TestLinkedList {
    public static void main(String[] args) {
        LinkedList <String> list = new LinkedList();
        list.add("孙悟空");
        list.add("猪八戒");
        list.add("唐三藏");
        list.add("沙悟净");
        list.add("白龙马");
        System.out.println(list);

        //测试LinkList独有的方法
        list.addFirst("蜘蛛精");//添加首元素
        list.addLast("玉兔精");//添加尾元素
        System.out.println(list);

        System.out.println(list.getFirst());//获取首元素
        System.out.println(list.getLast());//获取尾元素

        System.out.println(list.removeFirst());//删除链表中的首元素并返回被删除的元素
        System.out.println(list.removeLast());//删除链表中的尾元素并返回被删除的元素

        LinkedList <String> list2 = new LinkedList();
        list2.add("水浒传");
        list2.add("三国演义");
        list2.add("西游记");
        list2.add("石头记");
        System.out.println(list2);
        System.out.println(list2.element());//获取首元素

        /**别名:查询系统*/
        System.out.println(list2.peek());//获取首元素
        System.out.println(list2.peekFirst());//获取首元素
        System.out.println(list2.peekLast());//获取尾元素

        /**别名:新增系列*/
        System.out.println(list2.offer("斗破苍穹"));//添加尾元素
        System.out.println(list2.offerFirst("三体"));//添加首元素
        System.out.println(list2.offerLast("蛙"));//添加尾元素
        System.out.println(list2);

        /**别名:移除系列*/
        System.out.println(list2.poll());//删除首元素
        System.out.println(list2.pollFirst());//删除首元素
        System.out.println(list2.peekLast());//删除尾元素
        System.out.println(list2);
    }
}
